#include <iostream>
#include <signal.h>
#include <unistd.h>

int main()
{
    //实验2：哪些信号不会被阻塞
    std::cout << getpid() << std::endl;
    sigset_t block, oblock;

    sigemptyset(&block);
    sigemptyset(&oblock);

    for(int i = 1; i <= 32; i++)
        sigaddset(&block, i);

    sigprocmask(SIG_SETMASK, &block, &oblock);

    while(true)
    {
        sleep(1);
    }
    //实验1：阻塞2号信号
    // std::cout << getpid() << std::endl;
    // sigset_t block, oblock;

    // sigemptyset(&block);
    // sigemptyset(&oblock);

    // sigaddset(&block, 2);

    // sigprocmask(SIG_BLOCK, &block, &oblock);

    // while(true)
    // {
    //     sleep(1);
    // }
}